const key = 'search_history'
Page({
  /**
   * 页面的初始数据
   */
  data: {
    recentSearches: wx.getStorageSync(key) as string[] || ['手机', '电脑', '运动鞋'], // 获取最近搜索持久化
    hotSearches: ['智能手表', '无线耳机', '平板电脑'], //热门搜索
    keyword: '',
    isShowDelete: false
  },
  onSearch() {
    // 非空判断：如果输入的关键字为空，则提示用户输入商品名称，并结束函数执行
    if (this.data.keyword.trim() == '') {
      wx.showToast({ title: '请输入商品名称', icon: 'error' })
      return
    }
    // 获取最近搜索列表
    const list = this.data.recentSearches
    // 查询是否重复：检查关键字是否已经存在于最近搜索列表中
    if (list.includes(this.data.keyword)) {
      // 如果存在，则找到该关键字在列表中的索引，并将其从列表中移除
      const index = list.findIndex(v => v == this.data.keyword)
      list.splice(index, 1)
    }
    // 如果数量大于等于5 删除最后一项
    if (list.length >= 5) {
      list.pop()
    }
    // 将关键字添加到最近搜索列表的最前面
    list.unshift(this.data.keyword)
    // 更新数据：将更新后的最近搜索列表和清空的关键字设置到页面数据中
    this.setData({
      recentSearches: list,
      keyword: ''
    })
    // 持久化存储
    wx.setStorageSync(key, this.data.recentSearches)
  },
    // 切换显示删除按钮的状态
  toggleShowDelete() {
    this.setData({
      isShowDelete: !this.data.isShowDelete
    })
  },
  clearList() {
    this.setData({
      recentSearches: [],
      isShowDelete: false
    })
    // 持久化存储
    wx.setStorageSync(key, this.data.recentSearches)
  },
    // 删除指定索引的搜索记录项
  deleteItem(event: WechatMiniprogram.BaseEvent) {
    const list = this.data.recentSearches
    list.splice(event.currentTarget.dataset.index, 1)
    this.setData({
      recentSearches: list
    })
    // 持久化存储
    wx.setStorageSync(key, this.data.recentSearches)
    if (list.length == 0) {
      this.setData({
        isShowDelete: false
      })
    }
  },

})